Amazon Aurora ライターインスタンスの DB 識別子を変更する際にフェールオーバーが発生するか教えてください
困っていた内容
Aurora クラスターをライターインスタンス 1 台と、リードレプリカ 1 台構成で運用しています。
DB 識別子の変更にあたり、AWS ドキュメント上に再起動されるとの記載があるのですが、フェールオーバーも発生するのでしょうか?
ライターインスタンスのエンドポイント名を変更する為の設定変更なので、フェールオーバーしてリードレプリカになってしまわないか心配です。
結論
ライターインスタンスの DB 識別子の変更にあたり、フェールオーバーは発生しません。
ライターインスタンスのステータスがどのように変化するかを確かめる為、検証してみました。
検証してみた
1.初期状態
ライターインスタンスの DB 識別子を、"database-1-instance-1" としました。
2.DB インスタンス変更画面
3.DB 識別子を "name-change" へ変更
4.変更のサマリー
DB 識別子を、"database-1-instance-1" から "name-change" へ変更します。
5.ステータスが "名前変更" へ変化
ステータスが "利用可能" から "名前変更" へ変わりました。
6.ステータスが "再起動中" へ変化
ステータスが "名前変更" から "再起動中" へ変わりました。
7.ステータスが "利用可能" となり設定変更終了
ライターインスタンスの DB 識別子を変更した場合、フェールオーバーが発生しないことを確認できました!
おまけ
ライターインスタンスのインスタンスクラスを変更した際に、フェールオーバーが発生するかについても確かめてみました。
1.ライターインスタンスのインスタンスクラスを "t3.small" から "t3.medium" へ変更
2.ステータスが "変更中" へ変化
3.インスタンスのロールが "ライターインスタンス" から "リーダーインスタンス" へ変化
フェールオーバーが発生し、インスタンスクラスを変更したインスタンスのロールが、ライターインスタンスからリーダーインスタンスへと変化しました。
4.ステータスが "利用可能" となり設定変更終了
ライターインスタンスのインスタンスクラス変更時には、フェールオーバーが発生することを確認できました!
まとめ
検証により、ライターインスタンスの DB 識別子を変更した場合はフェールオーバーが発生せず、ライターインスタンスのインスタンスクラスを変更した場合はフェールオーバーが発生することを確認できました。
Aurora のフェールオーバー発生条件についてはドキュメント上で網羅的に書かれていないので、疑問を持ったら検証して確認する姿勢が大切だと実感しました。
この記事がどなたかのお役に立てば幸いです。